package gam.n1.areas.impl.a;

import gam.n1.actions.MovePath;
import gam.n1.areas.Area;
import gam.n1.ent.AEntity;
import gam.n1.ent.i.AttackEntity;
import gam.n1.ent.i.ProtectedEntity;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;

import java.util.List;
import java.util.Set;

public interface DefendVArea {

    Set<Location> getPointAtRespawn(); //获取重生点
    List<Entity> getMonsters(); //获取场上的所有怪物
    List<LivingEntity> getProtected();

    boolean spawn(AEntity spawn,Location spawnLocation);
    boolean spawn();

    Area getHandler();

    Area reborn(Set<Location> reborn);
    Area toe(Set<AttackEntity> m);
    Area toa(Set<ProtectedEntity> j);
    Area por(Set<Location> rL);
    Area vol(Set<Location> vl);

    boolean isMonsterInArea(LivingEntity monster); //检查怪物是否在区域内
}
